﻿	/** 判断一个字符串 是否是纯数字 */
	function isANum(str){
		if( !Number(str) || str == 0){
			return false;
		}
		return true;
	}
	
	/** 将当前日期转换为字符串格式 */
	function date2string(d){
		return d.getFullYear() +"/"+ (d.getMonth()+1) +"/"+ d.getDate() +" "+ d.getHours() +":"+ d.getMinutes() +":"+ d.getSeconds();
	}
	
	/** 判断某年份是否为闰年 */
	function isleapYear(y){
		if(y%4 == 0 && y%100 != 0 || y%400 ==0){
			return true;
		}
		return false;
	}
	
	/** 计算两个日期之间相差的天数 */
	function betweenDate(d1,d2){
		return Math.abs( d1.getTime() - d2.getTime() )/1000/60/60/24 ;
	}
	
	/** 计算两个字符串日期之间相差的天数 */
	function betweenstringDate(d1,d2){
		return Math.abs( Date.parse(d1) - Date.parse(d2) )/1000/60/60/24 ;
	}
	
	/** 获取n天以后的日期 */
	function getDateAfter(n){
		var now = new Date();
		var milli = now.getTime() + n*24*60*60*1000;
		return new Date(milli);
	}
	
	/** 产生指定范围内的随机整数 */
	function randomInt(min,max){
		return Math.round( Math.random()*(max - min) + min );
	}
	
	/** 获取某个月份的天数 */
	function getDays(y,m){
		switch(m){
			case 2 : return isleapYear(y) ? 29 : 28;
			case 1 :
			case 3 :
			case 5 :
			case 7 :
			case 8 :
			case 10 :
			case 12 : return 31; 
			default : return 30;
		}
	}
	
	/** 将给定字符串转化为日期 */
	function string2Date(str){
		d = new Date();
		d.setTime(Date.parse(str));
		return d;
	}
	
	/**  计算一个元素在页面上的绝对位置 (传参为一个元素)*/
	function offsetPagePosition(ele){
		_left = ele.offsetLeft;
		_top = ele.offsetTop;
		while(ele.offsetParent){
			_left += ele.offsetParent.offsetLeft;
			_top += ele.offsetParent.offsetTop;
			ele = ele.offsetParent;
		}
		return { "left":_left, "top":_top};
	}
	
	/**  过滤文本节点*/
	function textNodeFilter(list){
		var newarr = [];
		for(var i = 0; i < list.length; i++){
			if( list[i].nodeType == 1 ){
				newarr.push(list[i]);
			}
		}
		return newarr;
	}
	
	/**  生成随机颜色  */
	function randomColor(){
		var R = Math.floor(Math.random()*256).toString(16);
		var G = Math.floor(Math.random()*256).toString(16);
		var B = Math.floor(Math.random()*256).toString(16);
		return "#" + (R.length<2?"0"+R:R) + (G.length<2?"0"+G:G) + (B.length<2?"0"+B:B);
	}
	
	/** 根据class名称获取元素 */
	if(!document.getElementsByClassName){
		document.getElementsByClassName = function (classname){
			var temp = [];
			var alldom = document.getElementsByTagName("*");
			for(var i = 0; i < alldom.length; i++){
				if(alldom[i].className.indexOf[classname+""] != -1){
					temp.push(alldom[i]);
				}
			}
			return temp;
		}
	}
	
	/** 获取非行内样式 */
	function getStyle(obj,attr){
		if(obj.currentStyle){
			//IE浏览器
			return obj.currentStyle[attr];
		}
		else{
			return obj.getCumputedStyle(obj,null)[attr];
		}
	}
	
	/** 给元素添加事件 兼容问题 参数(元素ele，方法名，函数，是否捕获) */
	//柯里化 可提高性能 优化
	function addEvent(ele, eventname,func,isCapture){
		if(ele.addEventListener){
			ele.addEventListener(eventname,func,isCapture);
			addEvent = function(ele, eventname,func,isCapture){
				ele.addEventListener(eventname,func,isCapture);
			}
		}else{
			ele.attachEvent("on"+eventname,func);
			addEvent = function(ele,eventname,func){
				ele.attachEvent("on"+eventname,func);
			}
		}
	}
	
	/** 设置cookie*/
	function setCookie(key,value,n){
		var d = new Date();
		d.setDate( d.getDate() + n );
		document.cookie = key +"="+ value +"; expires = "+d;
	}
	/** 提取cookie*/
	function getCookie(key){
		var list = document.cookie.split("; ");
		for(var i in list){
			var k = list[i].split("=");
			if(k[0] == key){
				return k[1];
			}
		}
		return null;
	}
	
	/** 在Array中添加去重方法 */
	Array.prototype.norepeat = function(){
		//方法1：利用对象属性的不可重复性去重
		var obj = {};
		//此处数组若用for..in 遍历 则会带上norepeat自身
		for (var i = 0; i < this.length; i++) {
			obj[this[i]] = 1;//给的属性值随意
		}
		var newArr = [];
		for (var attr in obj) {
			//取出的属性值为string类型 转为number类型
			newArr.push( Number(attr) );
		}
		return newArr;
	}
	
	
	
	